---
title: Pulse Quick Start (Embedded Mode)
---

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<a id="topic_523F6DE33FE54307BBE8F83BB7D9355D"></a>


Use Pulse in embedded mode to monitor a Geode deployment directly from a Geode JMX Manager. By default, the embedded Pulse application connects to the local JMX Manager that hosts the Pulse application. Optionally, configure Pulse to connect to a Geode system of your choice.

To run Pulse in embedded mode:

1.  Configure a Geode member to run as a JMX Manager node, specifying the HTTP port on which you will access the Pulse Web application (port 7070 by default). For example, the following command starts a Geode locator as a JMX Manager node, using the default HTTP port 7070 for the Pulse application:

    ``` pre
    gfsh
    gfsh> start locator --name=loc1
    ```

    **Note:**
    Geode locators become JMX Manager nodes by default. To start a non-locator member as a JMX Manager node, include the `--J=-Dgemfire.jmx-manager=true` option. To specify a non-default port number for the HTTP service that hosts the Pulse application, include the `--J=-Dgemfire.http-service-port=port_number` option when starting the JMX Manager node.

    When the JMX Manager node boots, it starts an embedded Jetty instance and deploys the Pulse Web application at the specified or default HTTP port or 7070 by default.

    `gfsh` automatically connects to the manager when you start it in this way. If you already started a manager process earlier, use the `connect` command in `gfsh` to connect to that process.

2.  Access the embedded Pulse application from a Web browser. If you are connected to the Geode cluster using gfsh, use the `start pulse` command to load the correct URL in your browser:

    ``` pre
    gfsh> start pulse
    ```

    Or, enter the URL http://*address*:*http-service-port*/pulse directly in your Web browser, substituting the address and HTTP port of the manager. For example, you access Pulse on the local locator machine from Step 1 at the URL http://localhost:7070/pulse.

3.  If you have configured authentication for the Pulse application, enter the username and password of a valid Pulse account in the login screen. Otherwise, enter the default "admin" in both fields. Click **Sign In** to continue.

    See [Configuring Pulse Authentication](quickstart.html#topic_AC9FFAA6FB044279BAED7A3E099E07AC).

4.  After you log in, Pulse displays the main cluster view for the local distributed system. See [Using Pulse Views](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404).

**Note:**
When running in embedded mode, the Pulse application connects only to the JMX Manager running in the locator or member that hosts Pulse. This enables you to monitor all members of that distributed system. You can also view (but not monitor) connected WAN clusters, and can view gateway senders and receivers that are configured in the local cluster.

## <a id="topic_795C97B46B9843528961A094EE520782" class="no-quick-link"></a>Hosting Pulse on a Web Application Server

Host Pulse on a dedicated Web application server to make the Pulse application available at a consistent address, or to use SSL for accessing the Pulse application. When you host Pulse in this way, you also configure Pulse to connect to a specific locator or JMX Manager node for monitoring.

To host Pulse on a Web application server:

1.  Set the `http-service-port` property to zero (`-Dgemfire.http-service-port=0`) when you start your Geode JMX Manager nodes. Setting this property to zero disables the embedded Web server for hosting the Pulse application.
2.  Create a `pulse.properties` file somewhere in the classpath of your Web application server. For example, if you are hosting Pulse on Tomcat, create the `pulse.properties` file in the `$TOMCAT_SERVER/lib` directory.

3.  Define the following configuration properties in the `pulse.properties` file:

    <table>
    <colgroup>
    <col width="50%" />
    <col width="50%" />
    </colgroup>
    <thead>
    <tr class="header">
    <th>Property</th>
    <th>Description</th>
    </tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td><code class="ph codeph">pulse.useLocator</code></td>
    <td>Specify &quot;true&quot; to configure Pulse to connect to a Geode Locator member, or &quot;false&quot; to connect directly to a JMX Manager.
    <p>When Pulse connects to a Geode locator, the locator provides the address and port of an available JMX Manager to use for monitoring the distributed system. In most production deployments, you should connect Pulse to a locator instance; this allows Pulse to provide monitoring services using any available JMX Manager.</p>
    <p>If you specify &quot;false,&quot; Pulse connects directly to a specific JMX Manager. If this manager is not available, the Pulse connection fails, even if another JMX Manager is available in the distributed system.</p></td>
    </tr>
    <tr class="even">
    <td><code class="ph codeph">pulse.host</code></td>
    <td>Specify the DNS name or IP address of the Geode locator or JMX Manager machine to which Pulse should connect. You specify either a locator or JMX Manager address depending on how you configured the <code class="ph codeph">pulse.useLocator</code> property.</td>
    </tr>
    <tr class="odd">
    <td><code class="ph codeph">pulse.port</code></td>
    <td>Specify the port number of the Geode locator or the HTTP port number of the JMX Manager to which Pulse should connect. You specify either a locator or JMX Manager port depending on how you configured the <code class="ph codeph">pulse.useLocator</code> property.
    <p>If you configured <code class="ph codeph">pulse.useLocator=false</code>, then <code class="ph codeph">pulse.port</code> must correspond to the <code class="ph codeph">http-service-port</code> setting of the JMX Manager.</p></td>
    </tr>
    <tr class="even">
    <td><code class="ph codeph">pulse.jmxUserName</code></td>
    <td>If you configured authentication for the Geode JMX Manager node, specify a valid JMX user name that the Pulse application will use to authenticate to the JMX Manager.
    <div class="note note">
    **Note:**
    <p>The JMX account that Pulse uses must have both read and write privileges.</p>
    </div>
    <p>See <a href="../../managing/management/jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Configuring a JMX Manager</a> for information about configuring authentication for JMX Manager nodes.</p></td>
    </tr>
    <tr class="odd">
    <td><code class="ph codeph">pulse.jmxUserPassword</code></td>
    <td>Specify the password of the JMX user account to use for authentication at startup.</td>
    </tr>
    </tbody>
    </table>

    For example, with this configuration Pulse connects to the locator at mylocator\[10334\] and accesses any available JMX Manager:

    ``` pre
    pulse.useLocator=true
    pulse.host=locsrv.gemstone.com
    pulse.port=10334
    pulse.jmxUserName=pulseapp
    pulse.jmxUserPassword=pulsepass
    ```

    With this configuration Pulse accesses only the JMX Manager instance at manager1\[8080\]:

    ``` pre
    pulse.useLocator=false
    pulse.host=jmxsrv.gemstone.com
    pulse.port=8080
    pulse.jmxUserName=pulseapp
    pulse.jmxUserPassword=pulsepass
    ```

4.  (Optional.) Configure authentication for the Pulse Web application using the instructions in [Configuring Pulse Authentication](quickstart.html#topic_AC9FFAA6FB044279BAED7A3E099E07AC).
5.  Deploy the Pulse Web application to your application server. Geode installs the `pulse.war` file in the `tools/Pulse` subdirectory of your Geode installation directory. Depending on your application server, you may need to copy the `pulse.war` file to a deployment directory or use a configuration tool to deploy the file.
6.  Access the Pulse application using the address, port, and application URL that you configure in your Web application server. For example, with Tomcat the default URL is http://*address*:8080/pulse. Your application server provides options for configuring the address, port, and application name; substitute the correct items to access the deployed Pulse application.

    Pulse connects to the locator or JMX Manager that you configured in the `pulse.properties` file, authenticating using the credentials that you configured in the file.

7.  If you have configured authentication for the Pulse application, enter the username and password of a valid Pulse account in the login screen. Otherwise, enter the default "admin" in both fields. Click **Sign In** to continue.

    See [Configuring Pulse Authentication](quickstart.html#topic_AC9FFAA6FB044279BAED7A3E099E07AC).

8.  After you log in, Pulse displays the main cluster view for the distributed system to which it has connected. See [Using Pulse Views](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404).

## <a id="topic_AC9FFAA6FB044279BAED7A3E099E07AC" class="no-quick-link"></a>Configuring Pulse Authentication

Pulse requires all users to authenticate themselves before they can use the Pulse Web application. If you have configured JMX authentication on the Geode JMX Manager node, the Pulse Web application itself may also need to authenticate itself to the Geode JMX Manager node on startup.

## <a id="topic_AC9FFAA6FB044279BAED7A3E099E07AC__section_D31C25130C3D470083DAC76AE64DD1B6" class="no-quick-link"></a>Authenticating the Pulse Application to the JMX Manager

If you run Pulse in embedded mode, the Pulse application runs on the JMX Manager node and no JMX authentication is required. You do not need to specify valid JMX credentials to start an embedded Pulse application.

If you host Pulse on a Web Application server (non-embedded mode) and you configure JMX authentication on the Geode manager node, then the Pulse Web application must authenticate itself with the manager node when it starts. Specify the credentials of a valid JMX user account in the `pulse.properties` file, as described in [Hosting Pulse on a Web Application Server](quickstart.html#topic_795C97B46B9843528961A094EE520782).

**Note:**
The credentials that you specify must have both read and write privileges in the JMX Manager node. See [Configuring a JMX Manager](../../managing/management/jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6).

## <a id="topic_AC9FFAA6FB044279BAED7A3E099E07AC__section_E3703ED899354839BE51278D3AE79062" class="no-quick-link"></a>Authenticating Pulse Users

Pulse implements user authentication using the Spring security framework. The authentication configuration is specified in the `spring-security.xml` file, which is stored in the `WEB-INF` directory of Pulse WAR file. The `spring-security.xml` file contains bean definitions for role-based resource access, authentication profiles, and authentication handlers. The file also contains a default authentication manager bean definition.

Pulse uses a profile-based authentication configuration. You can can choose to use either the default configuration profile or a custom configuration. The default profile uses the Spring security simple in-memory User Details Service to define a single user with the credentials:

|            |            |
|------------|------------|
| User Name: | admin      |
| Password:  | admin      |
| Role:      | ROLE\_USER |

Pulse uses this default authentication profile if you do not specify a profile when starting the application, or if you specify the default profile at startup using the system property:

``` pre
-Dspring.profiles.active=pulse.authentication.default
```

You can also configure Pulse to use a custom authentication configuration by specifying activating the custom profile at startup with the system property:

``` pre
-Dspring.profiles.active=pulse.authentication.custom
```

Using a custom configuration enables you to use either the simple in-memory User Details Service or an external properties file to authenticate users to the application. Even if you choose to use the default Spring security simple in-memory User Details Service, using a custom authentication configuration enables you to define your own user credentials rather than using the default "admin" account.

**Note:**
Geode also supports using an LDAP provider for Pulse authentication. See [Using LDAP Authentication in Pulse](#topic_AC9FFAA6FB044279BAED7A3E099E07AC__section_kjx_ylq_kq)

To configure and use a custom authentication configuration:

1.  Create a directory in which you will store the custom authentication configuration. For example:

    ``` pre
    $ mkdir /opt/pulse-config
    ```

2.  Ensure that the new directory you created is available on the Java CLASSPATH:

    ``` pre
    $ export CLASSPATH=$CLASSPATH:/opt/pulse-config
    ```

3.  Create a new text file named `pulse-authentication-custom.xml` in the new directory:

    ``` pre
    $ touch /opt/pulse-config/pulse-authentication-custom.xml
    ```

4.  Use a text editor to add the bean definitions for the authentication managers and providers that you want to use. The following listings show the example file contents for using the in-memory User Details Service and an external properties file:

    **Example pulse-authentication-custom.xml for Spring simple in-memory User Details Service**

    ``` pre
    <beans:beans >
      <authentication-manager>
        <authentication-provider>
          <user-service id="userDetailsService">
            <user name="john" password="johnspassword" authorities="ROLE_USER " />
            <user name="bob" password="bobspassword" authorities="ROLE_USER" />
          </user-service>
        </authentication-provider>
      </authentication-manager>
    </beans:beans>
    ```

    **Example pulse-authentication-custom.xml for external properties file**

    ``` pre
    <beans:beans >
      <authentication-manager>
        <authentication-provider>
          <user-service properties="classpath:pulse-users.properties">
          </user-service>
        </authentication-provider>
      </authentication-manager>
    </beans:beans>
    ```

    With file-based authentication mechanism, you define the names and passwords for valid Pulse users in a `pulse-users.properties` file, which must be available in the classpath of the Pulse application. Each line in the `pulse-users.properties` file defines the username, password, and access level for a Pulse user with the format:

    ``` pre
    username=password,role,{enabled | disabled}
    ```

    The *role* entry must correspond to a valid Spring security role. For example, this entry shows the default "admin" user enabled with basic user access:

    ``` pre
    admin=admin,ROLE_USER,enabled
    ```

5.  When you start Geode members, specify the custom authentication profile using the `-Dspring.profiles.active=pulse.authentication.custom` system property. For example:

    ``` pre
    gfsh> start server --name=server1 --J=-Dspring.profiles.active=pulse.authentication.custom
    ```

6.  Start Pulse and log in using credentials that are authorized in the custom configuration.

## <a id="topic_AC9FFAA6FB044279BAED7A3E099E07AC__section_kjx_ylq_kq" class="no-quick-link"></a>Using LDAP Authentication in Pulse

This section provides instructions for using LDAP authentication with Pulse in either embedded and non-embedded mode.

**Embedded Mode (Jetty)**

To configure LDAP for Pulse:

1.  Create a directory in which you will store the LDAP authentication configuration. For example:

    ``` pre
    $ mkdir /opt/pulse-config
    ```

    The directory name and location are up to you-- just make sure you use the same name when specifying the CLASSPATH for the Geode JMX Manager process.

2.  Create a file named `pulse-authentication-custom.xml` with contents similar to the following and place it under the directory you created in step 1. For example:

    ``` pre
    <beans:beans xmlns="http://www.springframework.org/schema/security"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                   http://www.springframework.org/schema/security
                   http://www.springframework.org/schema/security/spring-security-3.1.xsd
                   http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd">
        
            <ldap-server url="ldap://ldap.gemstone.com:389/dc=gemstone,dc=com" />

            <authentication-manager>
               <ldap-authentication-provider user-dn-pattern="uid={0},ou=ldapTesting"  
                group-search-base="cn=PULSEUSER,ou=Groups" group-search-filter="memberUid={1}">
               </ldap-authentication-provider>
           </authentication-manager>
     
    </beans:beans>
    ```

    LDAP authentication in Pulse is hardcoded to use the PULSEUSER user group. Make sure you have have created users for this group.

3.  When starting the JMX Manager from gfsh, use the following commands:

    ``` pre
    gfsh>start locator --name=loc --J=-Dspring.profiles.active=pulse.authentication.custom --classpath=/opt/pulse-config
    ```

    or

    ``` pre
    gfsh>start server --name=server1 --J=-Dspring.profiles.active=pulse.authentication.custom --classpath=/opt/pulse-config
    ```

4.  Start Pulse and log in using credentials that are authorized in the LDAP configuration.

**Non-Embedded (Standalone Web Server) Mode (Tomcat)**

To configure LDAP for Pulse:

1.  Create a directory in which you will store the LDAP authentication configuration. For example:

    ``` pre
    $ mkdir /opt/pulse-config
    ```

2.  The directory name and location of the Pulse configuration files are up to you-- just make sure you use the same name when specifying the CLASSPATH for the Tomcat server.
3.  Pass in the Spring profile when starting the web server. In Tomcat, all the VM arguments are set in the variable CATALINA\_OPTS, which you can define in your environment configuration file setenv.bat or setenv.sh.

    For example, under %CATALINA\_HOME%/bin or $CATALINA\_HOME/bin, you can create a setenv batch file or script file (if not already present) that sets the following. On Windows:

    ``` pre
    set CATALINA_OPTS=-Dspring.profiles.active=pulse.authentication.custom
    set "CLASSPATH=C:\pulse-config"
    ```

    or in Unix/Linux:

    ``` pre
    CATALINA_OPTS=-Dspring.profiles.active=pulse.authentication.custom
    export CATALINA_OPTS
    CLASSPATH=$CLASSPATH:/opt/pulse-config
    ```

4.  Create a file named `pulse-authentication-custom.xml` with contents similar to the following and place it under the directory you created in step 1. For example:

    ``` pre
    <beans:beans xmlns="http://www.springframework.org/schema/security"
        xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                   http://www.springframework.org/schema/security
                   http://www.springframework.org/schema/security/spring-security-3.1.xsd
                   http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd">
        
            <ldap-server url="ldap://ldap.gemstone.com:389/dc=gemstone,dc=com" />

            <authentication-manager>
               <ldap-authentication-provider user-dn-pattern="uid={0},ou=ldapTesting"  
                group-search-base="cn=PULSEUSER,ou=Groups" group-search-filter="memberUid={1}">
               </ldap-authentication-provider>
           </authentication-manager>
     
    </beans:beans>
    ```

    LDAP authentication in Pulse is hardcoded to use the PULSEUSER user group. Make sure you have have created users for this group.

5.  Deploy the application and start the server.

## Configuring Pulse to Use HTTPS

You can configure Pulse to use HTTPS in either embedded or non-embedded mode.

In non-embedded mode where you are running Pulse on a standalone Web application server, you must use the Web server's SSL configuration to make the HTTP requests secure.

In embedded mode, Geode uses an embedded Jetty server to host the
Pulse Web application. To make the embedded server use HTTPS, you must
enable the `http` SSL component in
`gemfire.properties` or `gfsecurity-properties`.
See [SSL](../../managing/security/ssl_overview.html) for details on configuring these parameters.

These SSL parameters apply to all HTTP services hosted on the JMX Manager, which includes the following:

-   Developer REST API service
-   Management REST API service (for remote cluster management)
-   Pulse monitoring tool

When the `http` SSL component is enabled, all HTTP services become
SSL-enabled and you must configure your client applications
accordingly. For SSL-enabled Pulse, you will need to configure your
browsers with proper certificates.

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404" class="no-quick-link"></a>Using Pulse Views

Pulse provides a variety of different views to help you monitor Geode clusters, members, and regions.

The following sections provide an overview of the main Pulse views:

-   [Cluster View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_9794B5754E474E10ABFBCD8B1DA240F8)
-   [Member View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_3629814A3DF64D31A190495782DB0DBF)
-   [Region View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_D151776BAC8B4704A71F37F8B5CE063D)
-   [Data Browser](#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser)
-   [Alerts Widget](#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_bfk_sc3_wn)

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_9794B5754E474E10ABFBCD8B1DA240F8" class="no-quick-link"></a>Cluster View

The cluster view is a high-level overview of the Geode distributed system. It is displayed immediately after you log into Pulse. Information displays around the perimeter of the cluster view show statistics such as memory usage, JVM pauses, and throughput. You can use the cluster view to drill down into details for individual members and regions in the distributed system.

<img src="../../images/pulse_cluster_view.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_CC7B54903DF24030850E55965CDB6EC4" class="image imageleft" width="624" />

Use these basic controls while in Cluster view:

1.  Click Members or Data to display information about Geode members or data regions in the distributed system.
2.  Click the display icons to display the Geode members using icon view, block view, or table view. Note that icon view is available only when displaying Members.

    For example, the following shows Geode Members displayed in table view:

    <img src="../../images/member_view_list.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_npw_sq3_wn" class="image" />
    -   While in block view or table view, click the name of a Geode member to display additional information in the [Member View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_3629814A3DF64D31A190495782DB0DBF).
    -   Click Topology, Server Groups, or Redundancy Zones to filter the view based on all members in the topology, configured server groups, or configured redundancy zones.
    The following shows Geode Regions displayed in table view:
    <img src="../../images/pulse-region-detail.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_glp_1jr_54" class="image" />
    -   While in block view or table view, click the name of a Geode region to display additional information in the [Region View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_D151776BAC8B4704A71F37F8B5CE063D).

3.  While in icon view, click a host machine icon to display the Geode members on that machine.
4.  In the Alerts pane, click the severity tabs to filter the message display by the level of severity.

**Cluster View Screen Components**

The following table describes the data pieces displayed on the Cluster View screen.

<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<thead>
<tr class="header">
<th>Screen Component</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Cluster Status</strong></td>
<td>Overall status of the distributed system being monitored. Possible statuses include Normal, Warning, or Severe.</td>
</tr>
<tr class="even">
<td>Total Heap</td>
<td>Total amount of memory (in GB) allocated to the Java heap across all members.</td>
</tr>
<tr class="odd">
<td>Members</td>
<td>Total number of members in the cluster.</td>
</tr>
<tr class="even">
<td>Servers</td>
<td>Total number of servers in the cluster.</td>
</tr>
<tr class="odd">
<td>Clients</td>
<td>Total number of clients in the cluster.</td>
</tr>
<tr class="even">
<td>Locators</td>
<td>Total number of locators in the cluster.</td>
</tr>
<tr class="odd">
<td>Regions</td>
<td>Total number of regions in the cluster.</td>
</tr>
<tr class="even">
<td>Functions</td>
<td>Total number of functions registered in the cluster.</td>
</tr>
<tr class="odd">
<td>Unique CQs</td>
<td>Total number of unique CQs. Corresponds to the UNIQUE _CQ_QUERY statistic.</td>
</tr>
<tr class="even">
<td>Subscriptions</td>
<td>Total number of client event subscriptions.</td>
</tr>
<tr class="odd">
<td><strong>Cluster Members</strong></td>
<td>Graphical, block, or table view of the members in the cluster.</td>
</tr>
<tr class="even">
<td>Topology</td>
<td>Organizes cluster members by DistributedMember Id.</td>
</tr>
<tr class="odd">
<td>Server Groups</td>
<td>Organizes cluster members by server group membership. If no server groups are configured, all members appear under the &quot;Default&quot; server group.</td>
</tr>
<tr class="even">
<td>Redundancy Zones</td>
<td>Organizes cluster members by redundancy zones. If no redundancy zones are configured, all members appear under the &quot;Default&quot; zone.</td>
</tr>
<tr class="odd">
<td>Host Machine</td>
<td>When you mouse over a machine icon in Topology View, a pop-up appears with the following machine statistics:
<ul>
<li><em>CPU Usage</em>. Percentage of CPU being used by Geode processes on the machine.</li>
<li><em>Memory Usage</em>. Amount of memory (in MB) being used by Geode processes.</li>
<li><em>Load Avg</em>. Average number of threads on the host machine that are in the run queue or are waiting for disk I/O over the last minutes. Corresponds to the Linux System statistic loadAverage1. If the load average is not available, a negative value is shown.</li>
<li><em>Sockets</em>. Number of sockets currently open on the machine.</li>
</ul></td>
</tr>
<tr class="even">
<td>Member</td>
<td>When you mouse over a member icon in Graphical View, a pop-up appears with the following member statistics:
<ul>
<li><em>CPU Usage</em>. Percentage of CPU being used by the Geode member process.</li>
<li><em>Threads</em>. Number of threads running on the member.</li>
<li><em>JVM Pauses</em>. Number of times the JVM used by the member process has paused due to garbage collection or excessive CPU usage.</li>
<li><em>Regions</em>. Number of regions hosted on the member process.</li>
<li><em>Clients</em>. Number of client currently connected to the member process.</li>
<li><em>Gateway Sender</em>. Number of gateway senders configured on the member.</li>
<li><em>Port</em>. Server port of the cache server member where clients can connect and perform cache operations.</li>
<li><em>GemFire Version</em>. The version of the Geode member.</li>
</ul></td>
</tr>
<tr class="odd">
<td>Member</td>
<td>In List View, the following data fields are displayed for each member:
<ul>
<li><em>ID</em>. DistributedMember Id of the member.</li>
<li><em>Name</em>. Name of the member.</li>
<li><em>Host</em>. Hostname or IP address where the member is running.</li>
<li><em>Heap Usage</em>. Amount of JVM heap memory being used by the member process.</li>
<li><em>CPU Usage</em>. Percentage of CPU being used by the Geode member process.</li>
<li><em>Uptime</em>. How long the member has been up and running.</li>
<li><em>Clients</em>. Number of clients currently connected to the member. It will have a value only if the member acts as a CacheServer.</li>
</ul></td>
</tr>
<tr class="even">
<td><strong>Key Statistics</strong></td>
<td>Displays a few key performance measurements of the distributed system (over the last 15 minutes).</td>
</tr>
<tr class="odd">
<td>Write/Sec</td>
<td>Number of write operations per second that have occurred across the cluster. Each put/putAll operation counts as a write; for example, a putAll of 50 entries is counted as one write.</td>
</tr>
<tr class="even">
<td>Read/Sec</td>
<td>Number of read operations per second that have occurred across the cluster.</td>
</tr>
<tr class="odd">
<td>Queries/Sec</td>
<td>Number of queries per second that have been executed across the cluster.</td>
</tr>
<tr class="even">
<td><strong>No. of JVM Pauses</strong></td>
<td>Number of times the JVM has paused during the last five minutes to perform garbage collection.</td>
</tr>
<tr class="odd">
<td><strong>WAN Information</strong></td>
<td>If you have configured gateway senders or receivers for a multi-site (WAN) deployment, this box displays whether the remote cluster is reachable (working connectivity represented by a green triangle).</td>
</tr>
<tr class="even">
<td><strong>Disk Throughput</strong></td>
<td>Total disk throughput for all disks in cluster.</td>
</tr>
<tr class="odd">
<td><strong>Alerts View</strong></td>
<td>Displays alerts for the cluster.</td>
</tr>
</tbody>
</table>

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_3629814A3DF64D31A190495782DB0DBF" class="no-quick-link"></a>Member View

When you select an individual Geode member in Cluster View, Pulse displays the regions available on that member, as well as member-specific information such as the configured listen ports.

<img src="../../images/pulse_member_view.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_EDBD3D333B2741DCAA5CB94719B507B7" class="image imageleft" width="624" />

Use these basic controls while in Member View:

1.  Click the display icons to display regions using block view or table view.
2.  Use the drop down menu to select a specific member or search for specific members by name.
3.  Click **Cluster View** to return to Cluster View. See [Cluster View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_9794B5754E474E10ABFBCD8B1DA240F8).
4.  Click **Data Browser** to query region data. See [Data Browser](#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser).

**Member View Screen Components**

The following table describes the data elements displayed on the Member View screen.

<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<thead>
<tr class="header">
<th>Screen Component</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Member Status</strong></td>
<td>Overall status of the member being monitored. Possible statuses include Normal, Warning, or Severe.</td>
</tr>
<tr class="even">
<td>Regions</td>
<td>Total number of regions hosted on the member.</td>
</tr>
<tr class="odd">
<td>Threads</td>
<td>Total number of threads being executed on the member.</td>
</tr>
<tr class="even">
<td>Sockets</td>
<td>Total number of sockets currently open on the member.</td>
</tr>
<tr class="odd">
<td>Load Avg.</td>
<td>Average number of threads on the member that are in the run queue or are waiting for disk I/O over the last minute. Corresponds to the Linux System statistic loadAverage1. If the load average is not available, a negative value is shown.</td>
</tr>
<tr class="even">
<td>Clients</td>
<td>Current number of client connections to the member.</td>
</tr>
<tr class="odd">
<td><strong>Member Regions</strong></td>
<td>Block or table view of the regions hosted on the member.</td>
</tr>
<tr class="even">
<td>Regions</td>
<td>When you mouse over a region in block view, a pop-up appears with the following data fields:
<ul>
<li><em>Name</em>. Region name.</li>
<li><em>Type</em>. For example, REPLICATE, PARTITION.</li>
<li><em>EntryCount</em>. Number of entries in the region.</li>
<li><em>EntrySize</em>. The aggregate entry size (in bytes) of all entries. For replicated regions this field will only provide a value if the eviction algorithm has been set to EvictionAlgorithm#LRU_ MEMORY. All partition regions will have this value. However, the value includes redundant entries and will also count the size of all the secondary entries on the node.</li>
</ul></td>
</tr>
<tr class="odd">
<td>Regions</td>
<td>In table view, the following fields are listed for each region:
<ul>
<li><em>Name</em>. Region name.</li>
<li><em>Type</em>. For example, REPLICATE, PARTITION.</li>
<li><em>EntryCount</em>. Number of entries in the region.</li>
<li><em>EntrySize</em>. The aggregate entry size (in bytes) of all entries. For replicated regions this field will only provide a value if the eviction algorithm has been set to EvictionAlgorithm#LRU_ MEMORY. All partition regions will have this value. However, the value includes redundant entries and will also count the size of all the secondary entries on the node.</li>
<li><em>Scope</em>. Scope configured for the region.</li>
<li><em>Disk Store Name</em>. Name of disk stores (if any) associated with the region.</li>
<li><em>Disk Synchronous</em>. True if writes to disk are set to synchronous and false if not. This field reflects the configured disk-synchronous region attribute.</li>
<li><em>Gateway Enabled</em>. Whether gateway sender and receiver configurations have been defined on members hosting this region.</li>
</ul></td>
</tr>
<tr class="even">
<td><strong>Member Clients</strong></td>
<td>In table view, the following fields are listed for each client:
<ul>
<li><em>Id</em>. DistributedMember ID of the client process.</li>
<li><em>Name</em>. Name of the client process.</li>
<li><em>Host</em>. Hostname or IP address of the client process.</li>
<li><em>Connected</em>. Whether the client process is currently connected to the member.</li>
<li><em>Queue Size</em>. The size of the queue used by server to send events in case of a subscription enabled client or a client that has continuous queries running on the server.</li>
<li><em>CPU Usage</em>. Percentage of CPU being used by the client process.</li>
<li><em>Uptime</em>. Amount of time the client process has been running.</li>
<li><em>Threads</em>. Threads being used by the member clients</li>
<li><em>Gets</em>. Total number of successful get requests completed.</li>
<li><em>Puts</em>. Total number of successful put requests completed.</li>
</ul></td>
</tr>
<tr class="odd">
<td><strong>Key Statistics</strong></td>
<td>Displays a few key performance measurements for the member (over the last 15 minutes).</td>
</tr>
<tr class="even">
<td>% CPU Usage</td>
<td>Percentage of CPU used by the member.</td>
</tr>
<tr class="odd">
<td>Read/Sec</td>
<td>Number of read operations per second that have occurred on the member.</td>
</tr>
<tr class="even">
<td>Write/Sec</td>
<td>Number of write operations per second that have occurred on the member. Each put/putAll operation counts as a write; for example, a putAll of 50 entries is counted as one write.</td>
</tr>
<tr class="odd">
<td><strong>Memory Usage</strong></td>
<td>Total memory used on the member in MB.</td>
</tr>
<tr class="even">
<td><strong>No. of JVM Pauses</strong></td>
<td>Number of times the JVM has paused during the last five minutes due to garbage collection or excessive CPU usage.</td>
</tr>
<tr class="odd">
<td><strong>WAN Information</strong></td>
<td>Displays cluster information. This dialog box only appears if you have configured WAN functionality (gateway senders and gateway receivers).</td>
</tr>
<tr class="even">
<td><strong>Disk Throughput</strong></td>
<td>Rate of disk writes on the member.</td>
</tr>
</tbody>
</table>

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_D151776BAC8B4704A71F37F8B5CE063D" class="no-quick-link"></a>Region View

The Pulse Region View provides a comprehensive overview of all regions in the Geode distributed system:

<img src="../../images/pulse_data_view.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_A533852E38654E79BE5628E938E170EB" class="image imageleft" width="624" />

Use these basic controls while in Region View:

1.  Click the display icons to display all members that host the region using block view or table view.

    (Click the name of a member to change to that member's [Member View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_3629814A3DF64D31A190495782DB0DBF).)

2.  Search for specific members that host the current region.
3.  Hover over a member name to display information such as the region entry count, entry size, and throughput on that member.
4.  Click [Cluster View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_9794B5754E474E10ABFBCD8B1DA240F8) or [Data Browser](#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser) to go to those screens.

**Region View Screen Components**

The following table describes the data elements displayed on the Region View screen.

<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<thead>
<tr class="header">
<th>Screen Component</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Region Members</strong></td>
<td>Lists information about Geode members that host the region, either in block view or table view.</td>
</tr>
<tr class="even">
<td>Region Member (Detail View)</td>
<td>When you hover over a region member in block view, a pop-up appears with the following data fields:
<ul>
<li><em>Member Name</em>. The name of the Geode member hosting the region.</li>
<li><em>EntryCount</em>. Number of entries for the region on that member.</li>
<li><em>EntrySize</em>. The aggregate entry size (in bytes) of all entries on that member. For replicated regions this field will only provide a value if the eviction algorithm has been set to EvictionAlgorithm#LRU_ MEMORY. All partition regions will have this value. However, the value includes redundant entries and will also count the size of all the secondary entries on the node.</li>
<li><em>Accessor</em>. Indicates whether the member is an accessor member.</li>
<li><em>Reads/Writes</em>. Summary of reads and writes served from memory and from disk stores over the last 15 minutes.</li>
</ul></td>
</tr>
<tr class="odd">
<td>Region Member (Table View)</td>
<td>In table view, the following fields are listed for each region member:
<ul>
<li><em>ID</em>. The unique member ID.</li>
<li><em>Name</em>. Region name.</li>
<li><em>Host</em>. Member hostname.</li>
<li><em>Heap Usage</em>. The total amount of heap used on the member in MB.</li>
<li><em>CPU Usage</em>. CPU usage as a percent of available CPU.</li>
<li><em>Uptime</em>. The amount of time elapsed since the member started.</li>
<li><em>Accessor</em>. Indicates whether the member is an accessor member.</li>
</ul></td>
</tr>
<tr class="even">
<td><strong>Region Detail</strong></td>
<td>When you have selected a region, the right hand pane displays the following information about the region:
<ul>
<li><em>Name</em>. Name of the region.</li>
<li><em>Region Path</em>. Path for the region.</li>
<li><em>Type</em>. For example, REPLICATE, PARTITION</li>
<li><em>Members</em>. Number of members that are hosting the region.</li>
<li><em>Empty Nodes</em>. Nodes where the region DataPolicy is defined as EMPTY or where LocalMaxMemory is set to 0.</li>
<li><em>Entry Count</em>. Total number of entries in the region.</li>
<li><em>Disk Usage</em>. Persistent data usage.</li>
<li><em>Persistence</em>. Indicates whether the region's data is persisted to disk.</li>
<li><em>Memory Usage</em>. The amount of memory used and total available memory (also shown as a percentage).</li>
<li><em>Reads/Writes</em>. Summary of reads and writes served from memory and from disk stores over the last 15 minutes.</li>
</ul></td>
</tr>
</tbody>
</table>

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser" class="no-quick-link"></a>Data Browser

The Pulse Data Browser enables you to query region data. Note that there are two key attributes available on DistributedSystemMXBean (see [List of Geode JMX MBeans](../../managing/management/list_of_mbeans.html#topic_4BCF867697C3456D96066BAD7F39FC8B)) that you can use to configure limits for the result sets displayed in Data Browser:

-   `QueryResultSetLimit` limits the number of rows that Data Browser queries return. 1000 rows are displayed by default.
-   `QueryCollectionsDepth` limits the number of elements of a collection that Data Browser queries return. This attribute applies to query results contain collections such as Map, List, and so forth. The default value is 100 elements.

See the `org.apache.geode.management.DistributedSystemMXBean` JavaDocs for information on available MBean methods and attributes.

The following shows an example Data Browser view:

<img src="../../images/pulse-data-browser.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_hhp_dz2_44" class="image imageleft" width="624" />

Use these basic controls while in Data Browser view:

1.  Search for the name of a specific region.
2.  Select one or more regions to display the Geode members that host those regions. The hosting Geode members appear in the Region Members section.
3.  Select one or more members from the Region Members section to restrict query results to those members.
4.  Type in the text of a query to execute. See [Querying](../../developing/querying_basics/chapter_overview.html).
5.  Display a list of previously-executed queries. Double-click on a query from the history list to copy it to the Query Editor, or delete the query from your history.
6.  Execute your query or clear the contents of the Query Editor.
7.  View the current query results.
8.  Export the query results to a text file.
9.  Return to [Cluster View](quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_9794B5754E474E10ABFBCD8B1DA240F8).

## <a id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__section_bfk_sc3_wn" class="no-quick-link"></a>Alerts Widget

The Alerts Widget appears in the right portion of the screen and displays a list of alerts.

The alerts displayed for the cluster appear based on the alertLevel field set in the DistributedSystemMXBean. By default, log messages with the level of SEVERE are shown as alerts. You can modify the level by using the `DistributedMXBean.changeAlertLevel` method. See [System Alert Notifications](../../managing/management/notification_federation_and_alerts.html#topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A__section_7463D13112D54406953416356835E290) for more information.

<img src="../../images/pulse_alerts_widget.png" id="topic_F0ECE9E8179541CCA3D6C5F4FBA84404__image_jrc_smt_qn" class="image" />

Use these basic controls in the Alerts Widget:

1.  Select an alert level to view only alerts with a specific severity.
2.  Enter text in the search box to filter the list of alerts.
3.  Select an alert and click Clear to remove it from the alert list.
4.  Click **Clear All** to remove all alerts from the widget.
5.  Double-click an alert to open a pop-up window that displays the full text of the alert message.
6.  Click the check mark in an alert pop-up window to acknowledge the alert. Acknowledged alerts display a check mark in the list of alerts.
7.  Triple-click the alert in the pop-up or in the alert list to select the message text. You can then copy and paste the text into another application.
8.  Click the **X** to close the pop-up alert window.

